<html>
 <head>
  <meta charset="utf-8"/>
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"/>
  <title>
   主题：statistics with R 第15章 Time series  | 数螺 | NAUT IDEA
  </title>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" rel="stylesheet"/>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
  <style type="text/css">
   #xmain img {
                  max-width: 100%;
                  display: block;
                  margin-top: 10px;
                  margin-bottom: 10px;
                }

                #xmain p {
                    line-height:150%;
                    font-size: 16px;
                    margin-top: 20px;
                }

                #xmain h2 {
                    font-size: 24px;
                }

                #xmain h3 {
                    font-size: 20px;
                }

                #xmain h4 {
                    font-size: 18px;
                }


                .header {
	           background-color: #0099ff;
	           color: #ffffff;
	           margin-bottom: 20px;
	        }

	        .header p {
                  margin: 0px;
                  padding: 10px 0;
                  display: inline-block;  
                  vertical-align: middle;
                  font-size: 16px;
               }

               .header a {
                 color: white;
               }

              .header img {
                 height: 25px;
              }
  </style>
  <script src="http://cdn.bootcss.com/jquery/3.0.0/jquery.min.js">
  </script>
  <script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript">
   MathJax.Hub.Config({elements: ["bbpress-forums"]});
  </script>
  <script src="http://nautstatic-10007657.file.myqcloud.com/static/css/readability.min.js" type="text/javascript">
  </script>
  <script type="text/javascript">
   $(document).ready(function() {
                 var loc = document.location;
                 var uri = {
                  spec: "http://cos.name/cn/topic/3118/?new=1",
                  host: "http://cos.name",
                  prePath: "http://cos.name",
                  scheme: "http",
                  pathBase: "http://cos.name/"
                 };
    
                 var documentClone = document.cloneNode(true);
                 var article = new Readability(uri, documentClone).parse();
     
                 document.getElementById("xmain").innerHTML = article.content;
                });
  </script>
  <!-- 1466447383: Accept with keywords: (title(0.0):主题,论坛, topn(0.6):样条,残差,帖子,会员,图形,见下文,图略,变量,随机变量,模型,时间序列,成分,性质,数据,回归,函数,相关系数,样本,噪声,检验,问题,普通,时间序列分析,随机,趋势,多项式,主题,方法,独立同分布,序列).-->
 </head>
 <body class="topic bbpress single single-topic postid-3118 single-author sidebar" onload="">
  <div class="header">
   <div class="container">
    <div class="row">
     <div class="col-xs-6 col-sm-6 text-left">
      <a href="/databee">
       <img src="http://nautidea-10007657.cos.myqcloud.com/logo_white.png"/>
      </a>
      <a href="/databee">
       <p>
        数螺
       </p>
      </a>
     </div>
     <div class="hidden-xs col-sm-6 text-right">
      <p>
       致力于数据科学的推广和知识传播
      </p>
     </div>
    </div>
   </div>
  </div>
  <div class="container text-center">
   <h1>
    主题：statistics with R 第15章 Time series
   </h1>
  </div>
  <div class="container" id="xmain">
   <div class="hfeed site" id="page">
    <header class="site-header" id="masthead" role="banner">
     <div id="cos-logo">
      <a href="http://cos.name/cn">
       <img src="http://cos.name/cn/wp-content/themes/COS-forest/images/headers/cos-logo.png"/>
      </a>
     </div>
     <div class="navbar" id="navbar">
      <nav class="navigation main-navigation" id="site-navigation" role="navigation">
       <h3 class="menu-toggle">
        菜单
       </h3>
       <div class="menu-%e8%8f%9c%e5%8d%951-container">
        <ul class="nav-menu" id="menu-%e8%8f%9c%e5%8d%951">
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-407772" id="menu-item-407772">
          <a href="http://cos.name/cn/">
           论坛首页
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-407773" id="menu-item-407773">
          <a href="http://cos.name/cn/forums/">
           讨论区
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-407774" id="menu-item-407774">
          <a href="http://cos.name/cn/wp-login.php?action=register">
           注册
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-407819" id="menu-item-407819">
          <a href="http://cos.name/">
           主站
          </a>
         </li>
        </ul>
       </div>
      </nav>
      <!-- #site-navigation -->
     </div>
     <!-- #navbar -->
    </header>
    <!-- #masthead -->
    <div class="site-main" id="main">
     <div class="content-area" id="primary">
      <div class="site-content" id="content" role="main">
       <article class="post-3118 topic type-topic status-publish hentry" id="post-3118">
        <header class="entry-header">
         <h1 class="entry-title">
          statistics with R 第15章 Time series
         </h1>
        </header>
        <!-- .entry-header -->
        <div class="entry-content">
         <div id="bbpress-forums">
          <div class="bbp-breadcrumb">
           <p>
            <a class="bbp-breadcrumb-home" href="http://cos.name/cn/">
             COS论坛 | 统计之都
            </a>
            <span class="bbp-breadcrumb-sep">
             ›
            </span>
            <a class="bbp-breadcrumb-root" href="http://cos.name/cn/forums/">
             讨论区
            </a>
            <span class="bbp-breadcrumb-sep">
             ›
            </span>
            <a class="bbp-breadcrumb-forum" href="http://cos.name/cn/forum/software/">
             软件应用
            </a>
            <span class="bbp-breadcrumb-sep">
             ›
            </span>
            <a class="bbp-breadcrumb-forum" href="http://cos.name/cn/forum/software/r-language/">
             S-Plus &amp; R语言
            </a>
            <span class="bbp-breadcrumb-sep">
             ›
            </span>
            <span class="bbp-breadcrumb-current">
             statistics with R 第15章 Time series
            </span>
           </p>
          </div>
          <div class="bbp-template-notice info">
           <p class="bbp-topic-description">
            该主题包含 25 条回复，12个帖子，最后由
            <a class="bbp-author-avatar" href="http://cos.name/cn/profile/372770/" rel="nofollow" title="查看xingzhaoh的档案">
             <img src="http://sdn.geekzu.org/avatar/3cbb9d009505f29819587b0cff222a73?s=14&amp;d=monsterid&amp;r=g"/>
            </a>
            <a class="bbp-author-name" href="http://cos.name/cn/profile/372770/" rel="nofollow" title="查看xingzhaoh的档案">
             xingzhaoh
            </a>
            在
            <a href="http://cos.name/cn/topic/3118/page/2/#post-339497" title="回复：statistics with R 第15章 Time series">
             3 年, 7 月 之前
            </a>
            更新。
           </p>
          </div>
          <div class="bbp-pagination">
           <div class="bbp-pagination-count">
            查看 15 个帖子 - 1 到 15（总计 26 个）
           </div>
           <div class="bbp-pagination-links">
            <span class="page-numbers current">
             1
            </span>
            <a class="page-numbers" href="http://cos.name/cn/topic/3118/page/2/?new=1">
             2
            </a>
            <a class="next page-numbers" href="http://cos.name/cn/topic/3118/page/2/?new=1">
             →
            </a>
           </div>
          </div>
          <ul class="forums bbp-replies" id="topic-3118-replies">
           <li class="bbp-header">
            <div class="bbp-reply-author">
             作者
            </div>
            <!-- .bbp-reply-author -->
            <div class="bbp-reply-content">
             帖子
            </div>
            <!-- .bbp-reply-content -->
           </li>
           <!-- .bbp-header -->
           <li class="bbp-body">
            <div class="bbp-reply-header" id="post-3118">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月23日 下午11:18
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-3118">
               1 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-3118 -->
            <div class="odd bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-1 user-id-3849 topic-author post-3118 topic type-topic status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               本人认领该书第15章，时间序列分析，本贴将逐步讲解，翻译该章节内容。
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216343">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月24日 上午8:06
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216343">
               2 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216343 -->
            <div class="even bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-2 user-id-3849 topic-author post-216343 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               本章对比已经考虑过的话题：我们曾对简单统计过程的几种实现十分感兴趣（例如：高斯随机变量、混合高斯过程、线性模型）；现在我们将考虑更复杂过程的实现。
               <br/>
               本章的结构安排如下：
               <br/>
               在引论之后，介绍时间序列的概念并给出几个模拟或者真实的例子，我们将介绍古典的时间序列模型（AR, MA, ARMA, ARIMA, SARIMA），这些模型可以用以刻画时间序列的若干性质。之后介绍时间序列分析的谱方法，用以发现序列中的周期成分。这些模型虽然十分简单具有合理性，但是它们很难完全刻画真实序列的性质：引入基于古典模型的非线性模型（GARCH）。同时引进状态空间模型和kalman滤波：这些模型假设数据建立于线性代数，但我们并不具有所有的信息——有潜在的或者隐含的变量。
               <br/>
               其中一些方法很容易可以推广的高维情况，也就是说考虑多变量时间序列，或者说研究同时刻上的几个相关变量，但是此时会出现新的性质（如：协整）。更进一步，如果时间序列的变量太多，则向量模型会出现太多的参数：因此进入面板数据分析领域。
               <br/>
               我们最后介绍时间序列的推广：随机过程，此情况下时间为连续的；不规则时间观测序列，此情况下时间是离散的但观测间隔不规则；离散值时间序列（马尔可夫链和隐马尔可夫模型，而不是AR和状态空间模型）。
               <br/>
               15.1    引言
               <br/>
               15．1．1 例子
               <br/>
               在概率论中，一个时间序列就是（下文你将看到“随机过程”，两者几乎是同样的事情，我们仅会在本章末尾提高随机微分方程时对这两个概念区别对待）一个随机变量序列。在统计学中，时间序列是一个依时间而变的随机变量：例如，股票价格每日变化；空气温度的月观测值；病人每分钟内的平均心率等等。
               <br/>
               plot(LakeHuron,ylab = "",main = "Level of Lake Huron")
               <br/>
               图略
               <br/>
               x &lt;- window(sunspots, start=1750, end=1800)
               <br/>
               ## window用于截取变量sunspots的1750至1800间的数据（译者注）
               <br/>
               plot(x,ylab = "",main = "Sunspot numbers")
               <br/>
               图略
               <br/>
               你可对上面的序列加上平滑曲线，如：
               <br/>
               plot(x,type ="p",ylab = "",main = "Sunspot numbers")
               <br/>
               k &lt;- 20
               <br/>
               lines( filter(x, rep(1/k,k)),col = "red",lwd = 3 )
               <br/>
               图略
               <br/>
               你可以用竖直柱周期性地下划线一个序列，
              </p>
              <pre class="highlight ">data(UKgas)
plot.band &lt;- function (x, ...) {
    plot(x, ...)
    a &lt;- time(x)
    i1 &lt;- floor(min(a))
    i2 &lt;- ceiling(max(a))
    y1 &lt;- par("usr")[3]
    y2 &lt;- par("usr")[4]
    if( par("ylog") ){
        y1 &lt;- 10^y1
        y2 &lt;- 10^y2
    }
    for (i in seq(from=i1, to=i2-1, by=2)){ 
        polygon( c(i,i+1,i+1,i),c(y1,y1,y2,y2),col ="grey",border = NA )
    }
    par(new=T)
    plot(x, ...)
    }
plot.band(UKgas,log = "y",ylab = "",main = "UK gas consumption")</pre>
              <p>
               <br/>
               图略
              </p>
              <pre class="highlight ">在时间序列分析之前，我们总是要观察一下这个序列（随时间变化情况，变化类型，混乱值（有时需要检验时间顺序是否正确）；分布性质（直方图，密度估计）；y[i+1]~y[i]，异常值，数据越多异常值可能越多：可能是因为一些人忘记加小数点，也可能是将0或者999代替缺失值等等）。</pre>
              <p>
               x &lt;- LakeHuron
               <br/>
               op &lt;- par(mfrow = c(1,2),mar = c(5,4,1,2)+.1,oma = c(0,0,2,0))
               <br/>
               hist(x,col = "light blue",xlab = "",main = "")
               <br/>
               qqnorm(x,main = "")
               <br/>
               qqline(x,col = "red")
               <br/>
               par(op)
               <br/>
               mtext("Lake Huron levels",line = 2.5,font = 2,cex = 1.2)
               <br/>
               图略
               <br/>
               boxplot(x,horizontal = TRUE,col = "pink",main = "Lake Huron levels")
               <br/>
               图略
               <br/>
               plot(x,ylab = "",main = "Lake Huron levels")
               <br/>
               图略
              </p>
              <pre class="highlight ">n &lt;- length(x)
k &lt;- 5
m &lt;- matrix(nr=n+k-1, nc=k)
colnames(m) &lt;- c("x[i]", "x[i-1]", "x[i-2]","x[i-3]", "x[i-4]")
for (i in 1:k) { 
    m[,i] &lt;- c(rep(NA,i-1), x, rep(NA, k-i))
    }
pairs(m,gap = 0,lower.panel = panel.smooth,
    upper.panel = function (x,y) { panel.smooth(x,y)
    par(usr = c(0, 1, 0, 1))
    a &lt;- cor(x,y, use="pairwise.complete.obs")
    text(.1,.9,
    adj=c(0,1),
    round(a, digits=2),
    col="blue",
    cex=2*a)
    })
title("Lake Huron levels: autocorrelations",line = 3)</pre>
              <p>
               图略
              </p>
              <pre class="highlight ">我们将会看到其它时间序列的专有图形。第一，自相关函数（ACF）图x[i]与x[i-k]之间的相关系数随k的变化情况（也就上面图形反映的相关关系）。第二，偏自相关函数（PACF）图，它包含同样的信息（详细信息见下文）。最后，谱图，它用以发现序列中的周期成分，频率变化，显示频率变化的重要程度（更多见下文）。</pre>
              <p>
               op &lt;- par(mfrow = c(3,1),mar = c(2,4,1,2)+.1)
               <br/>
               acf(x, xlab = "")
               <br/>
               pacf(x, xlab = "")
               <br/>
               spectrum(x, xlab = "", main = "")
               <br/>
               par(op)
               <br/>
               图略
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216344">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月24日 上午8:22
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216344">
               3 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216344 -->
            <div class="odd bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-3 user-id-3849 topic-author post-216344 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               15．1．2    模拟
               <br/>
               时间序列分析的一个目的（或者步骤）是去探究序列的“结构”，或者说探究序列如何生成，或者说找出可以生成类似序列的算法。下面是一些模拟时间序列。第一个是高斯噪声；第二个是单整噪声（一个随机游走序列）。基于上面两种序列通过加入噪声，线性趋势，周期趋势等等我们可以构造许多其它序列。
              </p>
              <pre class="highlight ">op &lt;- par(mfrow = c(3,3),mar = c(0,0,0,0))
n &lt;- 100
k &lt;- 5
N &lt;- k*n
x &lt;- (1:N)/n
y1 &lt;- rnorm(N)
plot(ts(y1),xlab="", ylab="", main="", axes=F)
box()
y2 &lt;- cumsum(rnorm(N))
plot(ts(y2),xlab="", ylab="", main="", axes=F)
box()
y3 &lt;- cumsum(rnorm(N))+rnorm(N)
plot(ts(y3),xlab="", ylab="", main="", axes=F)
box()
y4 &lt;- cumsum(cumsum(rnorm(N)))
plot(ts(y4),xlab="", ylab="", main="", axes=F)
box()
y5 &lt;- cumsum(cumsum(rnorm(N))+rnorm(N))+rnorm(N)
plot(ts(y5),xlab="", ylab="", main="", axes=F)
box()
# With a trend
y6 &lt;- 1 - x + cumsum(rnorm(N)) + .2 * rnorm(N)
plot(ts(y6),xlab="", ylab="", main="", axes=F)
box()
y7 &lt;- 1 - x - .2*x^2 + cumsum(rnorm(N)) +.2 * rnorm(N)
plot(ts(y7),xlab="", ylab="", main="", axes=F)
box()
# With a seasonnal component
y8 &lt;- .3 + .5*cos(2*pi*x) - 1.2*sin(2*pi*x) +.6*cos(2*2*pi*x) + .2*sin(2*2*pi*x) +-.5*cos(3*2*pi*x) + .8*sin(3*2*pi*x)
plot(ts(y8+ .2*rnorm(N)),xlab="", ylab="", main="", axes=F)
box()
lines(y8, type="l", lty=3, lwd=3, col="red")
y9 &lt;- y8 + cumsum(rnorm(N)) + .2*rnorm(N)
plot(ts(y9),
xlab="", ylab="", main="", axes=F)
box()
par(op)
</pre>
              <p>
               图略
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216404">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月25日 上午4:20
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216404">
               4 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216404 -->
            <div class="even bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-4 user-id-3849 topic-author post-216404 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               15．1．3    时间序列分析的主要问题
               <br/>
               在统计学中，数据的独立性是我们希望的性质，问题是时间序列数据间往往是相关的。时间序列分析的目的就是要通过统计模型提取一个序列的结构，将原始序列转化为相互独立序列。我们可以从另一个角度来看这个问题：当你研究一个统计现象时，你往往有多个观测值，而当你研究时间序列问题时，你仅有一次观测值。因此我们可以用不同时点一次观测值来代替同一时点上的多个观测值。依统计问题不同，这两点是否能够等同起来——这个问题也就是所谓的遍历性——更多见下文。
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216405">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月25日 上午4:21
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216405">
               5 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216405 -->
            <div class="odd bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-5 user-id-3849 topic-author post-216405 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               15．1．4    自相关
               <br/>
               由于时间序列观测值往往不独立，因此我们首先可以看看一下它们的相关性：滞后k期的自相关（ACF）系数为（严格来说我们可以从样本观测值中考察样本ACF，或者我们由理论模型算得理论自相关函数）是n期与n-k期观测值之间的相关系数。为了由样本中算得ACF，必须假设它不依赖于样本观测期n，仅依赖于滞后期k。我们可以由下面得函数计算ACF。
              </p>
              <pre class="highlight ">my.acf &lt;- function (x,lag.max = ceiling(5*log(length(x)))) {
m &lt;- matrix(c( NA,rep( c(rep(NA, lag.max-1), x),lag.max ),rep(NA,, lag.max-1)),byrow=T,nr=lag.max)
    x0 &lt;- m[1,]
    apply(m,1,cor, x0, use="complete")
    }
n &lt;- 200
x &lt;- rnorm(n)
plot(my.acf(x),xlab = "Lag",type ="h")
abline(h=0)
</pre>
              <p>
               图略
               <br/>
               事实上，系统已经有一个这样的函数，
              </p>
              <pre class="highlight ">op &lt;- par(mfrow=c(2,1))
acf(x, main="ACF of white noise")
x &lt;- LakeHuron
acf(x, main="ACF of a time series (Lake Huron)")
par(op)
 </pre>
              <p>
               图略
               <br/>
               这是引言中模拟数值的自相关函数，该图形是托尾的：你能从中判别正确的滞后阶数吗？
               <br/>
               ##原书此处代码可能有误
               <br/>
               依我来看，可以看到三组：当ACF几乎为零时，数据不相关；当ACF时正时负时，数据也许是周期的；另一种情况，数据是相关的。
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216406">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月25日 上午4:25
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216406">
               6 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216406 -->
            <div class="even bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-6 user-id-3849 topic-author post-216406 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               15．1．5    白噪声
               <br/>
               一个白噪声序列是一个不相关随机变量序列，它们的期望为零，方差为常数。换句话说，它们是独立同分布随机变量，至二阶矩（它们也许是相关的，但为不能用线性相关来考察的非线性相关关系；它们也许是不同分布的，只要它们的均值和方差相同）。我们经常费尽心机要把我们的序列分解成一个“趋势项”加噪声项，这个噪声项也许是白噪声的。例如一个独立同分布随机变量序列是一个白噪声序列。
              </p>
              <pre class="highlight ">my.plot.ts &lt;- function (x, main="") { 
    op &lt;- par(mar=c(2,2,4,2)+.1)
    layout( matrix(c(1,2),nr=1,nc=2), widths=c(3,1) )
    plot(x, xlab="", ylab="")
    abline(h=0, lty=3)
    title(main=main)
    hist(x, col="light blue", main="", ylab="", xlab="")
    par(op)
    }
n &lt;- 100
x &lt;- ts(rnorm(n))
my.plot.ts(x, "Gaussian iid noise")
</pre>
              <p>
               图略
               <br/>
               一个独立同分布零均值随机变量序列也是一个白噪声序列。
              </p>
              <pre class="highlight ">n &lt;- 100
x &lt;- ts(runif(n,-1,1))
my.plot.ts(x, "Non gaussian iid noise")
</pre>
              <p>
               图略
              </p>
              <pre class="highlight ">x &lt;- ts(rnorm(100)^3)
my.plot.ts(x, "Non gaussian iid noise")
</pre>
              <p>
               图略
               <br/>
               也有不独立但不相关序列：根据定义不相关仅为不独立至二阶矩。
              </p>
              <pre class="highlight ">n &lt;- 100
x &lt;- rep(0,n)
z &lt;- rnorm(n)
for (i in 2:n) { 
    x[i] &lt;- z[i] * sqrt( 1 + .5 * x[i-1]^2 )
    }
my.plot.ts(x, "Non iid noise")
</pre>
              <p>
               图略
               <br/>
               一些确定序列也看起来象白噪声序列
              </p>
              <pre class="highlight ">n &lt;- 100
x &lt;- rep(.7, n)
for (i in 2:n) { 
    x[i] &lt;- 4 * x[i-1] * ( 1 - x[i-1] )
}
op &lt;- par()
layout( matrix(c(1,2),nr=1,nc=2), widths=c(3,1) )
x &lt;- x - mean(x)
plot(ts(x))
abline(h=0, lty=3)
title(main="A deterministic time series")
hist(x, col="light blue", main="", ylab="")
par(op)
</pre>
              <p>
               图略
              </p>
              <pre class="highlight ">n &lt;- 1000
tn &lt;- cumsum(rexp(n))
# A C^infinity function defined as a sum
# of gaussian densities
f &lt;- function (x) { 
    # If x is a single number: sum(dnorm(x-tn))
apply( dnorm( outer(x,rep(1,length(tn))) –
outer(rep(1,length(x)),tn) ),1,sum )
    }
op &lt;- par(mfrow=c(2,1))
curve(f(x),xlim = c(1,500),n = 1000,main = "From far away, it looks random...")
curve(f(x),xlim = c(1,10),n = 1000,main="...but it is not: it is a C^infinity function")
par(op)
</pre>
              <p>
               我们有一些检验方法可以检验一个序列是否为白噪声。
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216407">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月25日 上午4:31
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216407">
               7 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216407 -->
            <div class="odd bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-7 user-id-3849 topic-author post-216407 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               15．1．6     诊断：是白噪声序列吗？
               <br/>
               时间序列分析主要是寻找一种方法来拟和这个序列（或者就像我们引言所讲，由白噪声序列来生成一个近似的序列）。我们可以以如下方向来建立模型：考察数据序列并将其转换成类似白噪声序列。为了检验我们的分析是否正确，需要检验模型残差是否为白噪声序列。至此，我们可以考察自相关函数图（平均而言，仅能有5％的相关系数线超过虚线，如果有更多，那么我们的分析或者说结果是有疑问的）。
              </p>
              <pre class="highlight ">z &lt;- rnorm(200)
op &lt;- par(mfrow=c(2,1), mar=c(5,4,2,2)+.1)
plot(ts(z))
acf(z, main = "")
par(op)
</pre>
              <p>
               图略
              </p>
              <pre class="highlight ">x &lt;- diff(co2)
y &lt;- diff(x,lag=12)
op &lt;- par(mfrow=c(2,1), mar=c(5,4,2,2)+.1)
plot(ts(y))
acf(y, main="")
par(op)
</pre>
              <p>
               图略
              </p>
              <p>
               为了得到数值结果（p值），我们可以进行Box－Pierce或者Ljung－Box 检验（这些检验也称为“portmanteau 检验”）：其思想是考察（加权）平均和一阶自相关系数，这些求和结果（渐近）服从卡方分布（Ljung－Box 检验较Box－Pierce检验更为稳健，小样本性质更好近似的卡方分布）。
               <br/>
               &gt; Box.test(z) # Box-Pierce
               <br/>
               Box-Pierce test
               <br/>
               X-squared = 0.014, df = 1, p-value = 0.9059
               <br/>
               &gt; Box.test(z, type="Ljung-Box")
               <br/>
               Box-Ljung test
               <br/>
               X-squared = 0.0142, df = 1, p-value = 0.9051
               <br/>
               &gt; Box.test(y)
               <br/>
               Box-Pierce test
               <br/>
               X-squared = 41.5007, df = 1, p-value = 1.178e-10
               <br/>
               &gt; Box.test(y, type=”Ljung”)
               <br/>
               Box-Ljung test
               <br/>
               X-squared = 41.7749, df = 1, p-value = 1.024e-10
              </p>
              <pre class="highlight ">op &lt;- par(mfrow=c(2,1))
plot.box.ljung &lt;- function (z,k = 15,main = "p-value of the Ljung-Box test",ylab = "p-value") {
    p &lt;- rep(NA, k)
    for (i in 1:k) { 
        p[i] &lt;- Box.test(z, i,
        type = "Ljung-Box")$p.value
    }
    plot(p,type = "h",ylim = c(0,1),lwd = 3,main = main,ylab = ylab)
    abline(h = c(0,.05),lty = 3)
    }
plot.box.ljung(z, main="Random data")
plot.box.ljung(y, main="diff(diff(co2),lag=12)")
par(op)
</pre>
              <p>
               图略
               <br/>
               还有其它的检验方法：McLeod-Li, Turning-point, difference-sign, rank 检验等等。我们也可以用DW检验，在回归问题中我们已经应用了DW检验。
               <br/>
               TODO: check that I actually mention it.
               <br/>
               library(car)
               <br/>
               ?durbin.watson
               <br/>
               library(lmtest)
               <br/>
               ?dwtest
               <br/>
               这里应用的同样的检验方法，但并非以同样的方式检验，结果也许不同：
               <br/>
               &gt; dwtest(LakeHuron ~ 1)
               <br/>
               Durbin-Watson test
               <br/>
               data: LakeHuron ~ 1
               <br/>
               DW = 0.3195, p-value = &lt; 2.2e-16
               <br/>
               alternative hypothesis: true autocorrelation is greater than 0
               <br/>
               &gt; durbin.watson(lm(LakeHuron ~ 1))
               <br/>
               lag Autocorrelation D-W Statistic p-value
               <br/>
               1 0.8319112 0.3195269 0
               <br/>
               Alternative hypothesis: rho != 0
              </p>
              <pre class="highlight ">op &lt;- par(mfrow=c(2,1))
library(lmtest)
plot(LakeHuron,main = "Lake Huron")
acf(LakeHuron,main = paste("Durbin-Watson: p =",signif( dwtest( LakeHuron ~ 1 ) $ p.value, 3 )))
par(op)
</pre>
              <p>
               图略
              </p>
              <pre class="highlight ">n &lt;- 200
x &lt;- rnorm(n)
op &lt;- par(mfrow=c(2,1))
x &lt;- ts(x)
plot(x, main="White noise", ylab="")
acf(x,main = paste("Durbin-Watson: p =",signif( dwtest( x ~ 1 ) $ p.value, 3)))
par(op)
</pre>
              <p>
               图略
              </p>
              <pre class="highlight ">n &lt;- 200
x &lt;- rnorm(n)
op &lt;- par(mfrow=c(2,1))
y &lt;- filter(x,.8,method="recursive")
plot(y, main="AR(1)", ylab="")
acf(y,main = paste("p =",signif( dwtest( y ~ 1 ) $ p.value, 3 )))
par(op)
</pre>
              <p>
               图略
               <br/>
               但是注意：默认的检验是检验自相关是零还是正的，如果自相关显著为负，结果会令人费解。
              </p>
              <pre class="highlight ">set.seed(1)
n &lt;- 200
x &lt;- rnorm(n)
y &lt;- filter(x, c(0,1), method="recursive")
op &lt;- par(mfrow=c(3,1), mar=c(2,4,2,2)+.1)
plot(y,main = paste("one-sided DW test: p =",signif( dwtest ( y ~ 1 ) $ p.value, 3 )))
acf( y, main="")
pacf(y, main="")
par(op)
</pre>
              <p>
               图略
              </p>
              <pre class="highlight ">op &lt;- par(mfrow=c(3,1), mar=c(2,4,2,2)+.1)
res &lt;- dwtest( y ~ 1, alternative="two.sided")
plot(y,main = paste("two-sided p =",signif( res$p.value, 3 )))
acf(y, main="")
pacf(y, main="")
par(op)
</pre>
              <p>
               图略
               <br/>
               还有其它检验，例如runs检验（它看起来像数据在run，一个run是对同一个符号的连续观测；这类检验主要用来进行时间序列的定性检验）。
               <br/>
               library(tseries)
               <br/>
               ?runs.test
               <br/>
               或者Cowles-Jones 检验
               <br/>
               TODO
               <br/>
               A sequence is a pair of consecutive returns of the same sign; a
               <br/>
               reversal is a pair of consecutive returns of opposite signs.
               <br/>
               Their ratio, the Cowles-Jones ratio,
               <br/>
               number of sequences
               <br/>
               CJ = ———————
               <br/>
               number of reversals
               <br/>
               should be around one IF the drift is zero.
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216408">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月25日 上午4:34
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216408">
               8 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216408 -->
            <div class="even bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-8 user-id-3849 topic-author post-216408 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               15．1．7    tsdiag函数
               <br/>
               事实上，系统已经有一个函数，“tsdiag”，这个函数可以执行若干时间序列的检验（plot， ACF， Ljung－Box检验）。
              </p>
              <pre class="highlight ">data(co2)
r &lt;- arima(co2,order = c(0, 1, 1),seasonal = list(order = c(0, 1, 1), period = 12))
tsdiag(r)
</pre>
              <p>
               图略
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216522">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月25日 下午5:11
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216522">
               9 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216522 -->
            <div class="odd bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-9 user-id-5819 post-216522 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/5819/" rel="nofollow" title="查看leoaries的档案">
               <img src="http://sdn.geekzu.org/avatar/443dbd24c2d6339a30a4388e0c5e725f?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/5819/" rel="nofollow" title="查看leoaries的档案">
               leoaries
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               赞，翻完了做个文档吧，留着我以后有空学学
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216762">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月28日 上午6:24
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216762">
               10 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216762 -->
            <div class="even bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-10 user-id-5835 post-216762 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/5835/" rel="nofollow" title="查看hzworld的档案">
               <img src="http://sdn.geekzu.org/avatar/dfda6f9d2d049fe22b909aab34d246ef?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/5835/" rel="nofollow" title="查看hzworld的档案">
               hzworld
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               R中一些函数有误，详见：
               <br/>
               <a class="d4pbbc-url" href="http://www.stat.pitt.edu/stoffer/tsa2/Rissues.htm" rel="nofollow" target="_blank">
                http://www.stat.pitt.edu/stoffer/tsa2/Rissues.htm
               </a>
               <br/>
               中的
               <br/>
              </p>
              <blockquote class="d4pbbc-quote">
               Some issues with R and time series:
               <p>
               </p>
              </blockquote>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216948">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月31日 上午4:23
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216948">
               11 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216948 -->
            <div class="odd bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-11 user-id-3849 topic-author post-216948 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               15．2    简单时间序列模型
               <br/>
               15．2．1    古典模型
               <br/>
               一般地，我们常费尽心机将一个时间序列分解成三个部分：一个趋势成分（常常是一个仿真函数），一个季节成分（周期函数）和白噪声项。本节中，我们将介绍经典地时间序列模型（主要是回归），其中一些方法是相互关联的、有用的，但是也有一些仅仅是思想而已，实用性不大。上眼吧！
               <br/>
               本节的结构安排如下：我们首先用回归方法建立一个时间序列模型，具体的是一个多项式函数加上一个正弦波，或者更一般地，一个多项式函数加上一个周期信号。然后我们介绍基于（指数）移动平均地建模技术，并假设序列看起来像一个常数项加上一个噪声，或者一个线性函数加上一个噪声项，也就是所谓地HW滤波。
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216949">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月31日 上午4:25
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216949">
               12 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216949 -->
            <div class="even bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-12 user-id-3849 topic-author post-216949 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               15．2．2    第一次尝试：回归
              </p>
              <pre class="highlight ">data(co2)
plot(co2)
</pre>
              <p>
               图略
               <br/>
               此处，我们假设回归时，时间项为解释变量，现在让我们将这组数据写成是多项式函
               <br/>
               数与正玹函数地和。
              </p>
              <pre class="highlight ">y &lt;- as.vector(co2)
x &lt;- as.vector(time(co2))
r &lt;- lm( y ~ poly(x,1) + cos(2*pi*x) + sin(2*pi*x) )
plot(y~x, type="l", xlab="time", ylab="co2")
lines(predict(r)~x, lty=3, col="red", lwd=3)
</pre>
              <p>
               图略
               <br/>
               趋势项仅仅是一次多项式也许是不够地，虽然观察预测点还不能清楚的看到这一点，
               <br/>
               但是让我们看一下残差，结论就一幕了然了。
              </p>
              <pre class="highlight ">plot( y-predict(r),main = "The residuals are not random yet",xlab = "Time",ylab = "Residuals" )
</pre>
              <p>
               图略
               <br/>
               让我把模型变得更加复杂些：二次多项式加正玹函数（如果二次多项式还不够，就就
               <br/>
               用样条曲线代替多项式）。
              </p>
              <pre class="highlight ">r &lt;- lm( y ~ poly(x,2) + cos(2*pi*x) + sin(2*pi*x) )
plot(y~x, type="l", xlab="Time", ylab="co2")
lines(predict(r)~x, lty=3, col="red", lwd=3)
</pre>
              <p>
               图略
              </p>
              <pre class="highlight ">plot( y-predict(r),main = "Better residuals -- but still not random",xlab = "Time",ylab = "Residuals" )
</pre>
              <p>
               图略
               <br/>
               我们也可以重新修正周期成分，但是可能这并不会改善模型效果。
              </p>
              <pre class="highlight ">r &lt;- lm( y ~ poly(x,2) + cos(2*pi*x) + sin(2*pi*x)+ cos(4*pi*x) + sin(4*pi*x) )
plot(y~x, type="l", xlab="Time", ylab="co2")
lines(predict(r)~x, lty=3, col="red", lwd=3)
</pre>
              <p>
               图略
              </p>
              <pre class="highlight ">plot( y-predict(r),type = "l",xlab = "Time",ylab = "Residuals",main = "Are those residuals any better?" )
</pre>
              <p>
               图略
               <br/>
               然而，通过ACF图我们可以看到，这些模型并不那么如我们所期望的那样好：如果残
               <br/>
               差真的是白噪声的，你们ACF图中，将很少有自相关线超过虚线…
              </p>
              <pre class="highlight ">r1 &lt;- lm( y ~ poly(x,2) +cos(2*pi*x) +sin(2*pi*x) )
r2 &lt;- lm( y ~ poly(x,2) +cos(2*pi*x) +sin(2*pi*x) +cos(4*pi*x) +sin(4*pi*x) )
op &lt;- par(mfrow=c(2,1))
acf(y - predict(r1))
acf(y - predict(r2))
par(op)
</pre>
              <p>
               图略
               <br/>
               由这些图形可以得到以下两点事实：第一，毕竟修正周期成分是有益的；第二，模型
               <br/>
               仍然存在残差自相关的问题。
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216950">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月31日 上午4:28
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216950">
               13 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216950 -->
            <div class="odd bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-13 user-id-3849 topic-author post-216950 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               15.2.3    其它尝试（明显错误的想法）
               <br/>
               为了估计周期成分，我们可以取一月份观测值的平均数，二月份观测值的平均数等
               <br/>
               等。
              </p>
              <pre class="highlight ">m &lt;- tapply(co2, gl(12,1,length(co2)), mean)
m &lt;- rep(m, ceiling(length(co2)/12)) [1:length(co2)]
m &lt;- ts(m, start=start(co2), frequency=frequency(co2))
op &lt;- par(mfrow=c(3,1), mar=c(2,4,2,2))
plot(co2)
plot(m, ylab = "Periodic component")
plot(co2-m, ylab = "Withou the periodic component")
r &lt;- lm(co2-m ~ poly(as.vector(time(m)),2))
lines(predict(r) ~ as.vector(time(m)), col=¡¯red¡¯)
par(op)
</pre>
              <p>
               图略
               <br/>
               然而，观察一下这个模型的残差就会发现，周期成分依然存在，
              </p>
              <pre class="highlight ">op &lt;- par(mfrow=c(4,1), mar=c(2,4,2,2)+.1)
plot(r$res, type = "l")
acf(r$res, main="")
pacf(r$res, main="")
spectrum(r$res, col=par("fg"), main="")
abline(v=1:6, lty=3)
par(op)
</pre>
              <p>
               图略
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216951">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月31日 上午4:30
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216951">
               14 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216951 -->
            <div class="even bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-14 user-id-3849 topic-author post-216951 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               15.2.4    其它尝试（效果明显比以前要好）
               <br/>
               用同期均值估计量估计趋势成分仅当采用如下形式的模型时是有效的，
               <br/>
               y ~ a + b x + periodic component
               <br/>
               但是这里采用二次项，你们模型就无效了。然而我们可以重新采用同样的简单回归方法找寻周期成分和趋势成分。这里周期成分可以是任意的：在上面的模型中有12项系数需要估计。
               <br/>
               这里采用的方法是虚拟变量方法，在用二次多项式拟和趋势成分的同时，用12个虚拟
               <br/>
               变量反映周期变化因素（译者注）。
              </p>
              <pre class="highlight ">k &lt;- 12
m &lt;- matrix( as.vector(diag(k)),nr = length(co2),nc = k,byrow = TRUE )
m &lt;- cbind(m, poly(as.vector(time(co2)),2))
r &lt;- lm(co2~m-1)
summary(r)
b &lt;- r$coef
y1 &lt;- m[,1:k] %*% b[1:k]
y1 &lt;- ts(y1,start=start(co2),frequency=frequency(co2))
y2 &lt;- m[,k+1:2] %*% b[k+1:2]
y2 &lt;- ts(y2,start=start(co2),frequency=frequency(co2))
res &lt;- co2 - y1 - y2
op &lt;- par(mfrow=c(3,1), mar=c(2,4,2,2)+.1)
plot(co2)
lines(y2+mean(b[1:k]) ~ as.vector(time(co2)),col="red")
plot(y1)
plot(res)
par(op)
</pre>
              <p>
               图略
               <br/>
               这里的分析并没有完成，我们仍然需要研究一下模型残差——从中可以看出我们已经去掉的周期成分。
              </p>
              <pre class="highlight ">op &lt;- par(mfrow=c(3,1), mar=c(2,4,2,2)+.1)
acf(res, main="")
pacf(res, main="")
spectrum(res, col=par("fg"), main="")
abline(v=1:10, lty=3)
par(op)
</pre>
              <p>
               图略
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
            <div class="bbp-reply-header" id="post-216952">
             <div class="bbp-meta">
              <span class="bbp-reply-post-date">
               2006年12月31日 上午4:30
              </span>
              <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/3118/#post-216952">
               15 楼
              </a>
              <span class="bbp-admin-links">
              </span>
             </div>
             <!-- .bbp-meta -->
            </div>
            <!-- #post-216952 -->
            <div class="odd bbp-parent-forum-999 bbp-parent-topic-3118 bbp-reply-position-15 user-id-3849 topic-author post-216952 reply type-reply status-publish hentry">
             <div class="bbp-reply-author">
              <a class="bbp-author-avatar" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               <img src="http://sdn.geekzu.org/avatar/f8d6415705583cd10615d52a1b6797db?s=80&amp;d=monsterid&amp;r=g"/>
              </a>
              <br/>
              <a class="bbp-author-name" href="http://cos.name/cn/profile/3849/" rel="nofollow" title="查看anning189的档案">
               anning189
              </a>
              <br/>
              <div class="bbp-author-role">
               普通会员
              </div>
             </div>
             <!-- .bbp-reply-author -->
             <div class="bbp-reply-content">
              <p>
               15．    2.5    一些思想，样条曲线
               <br/>
               在上一个例子中，如果周期更长，我们可以用样条曲线寻找平滑周期成分，并且只有更
               <br/>
               少的估计参数：最多15个。
               <br/>
               TODO
               <br/>
               Exercise left to the reader…
              </p>
             </div>
             <!-- .bbp-reply-content -->
            </div>
            <!-- .reply -->
           </li>
           <!-- .bbp-body -->
           <li class="bbp-footer">
            <div class="bbp-reply-author">
             作者
            </div>
            <div class="bbp-reply-content">
             帖子
            </div>
            <!-- .bbp-reply-content -->
           </li>
           <!-- .bbp-footer -->
          </ul>
          <!-- #topic-3118-replies -->
          <div class="bbp-pagination">
           <div class="bbp-pagination-count">
            查看 15 个帖子 - 1 到 15（总计 26 个）
           </div>
           <div class="bbp-pagination-links">
            <span class="page-numbers current">
             1
            </span>
            <a class="page-numbers" href="http://cos.name/cn/topic/3118/page/2/?new=1">
             2
            </a>
            <a class="next page-numbers" href="http://cos.name/cn/topic/3118/page/2/?new=1">
             →
            </a>
           </div>
          </div>
          <div class="bbp-no-reply" id="no-reply-3118">
           <div class="bbp-template-notice">
            <p>
             您必须先登录才能回复该主题。
            </p>
           </div>
          </div>
         </div>
        </div>
        <!-- .entry-content -->
        <footer class="entry-meta">
        </footer>
        <!-- .entry-meta -->
       </article>
       <!-- #post -->
       <div class="comments-area" id="comments">
       </div>
       <!-- #comments -->
      </div>
      <!-- #content -->
     </div>
     <!-- #primary -->
     <div class="sidebar-container" id="tertiary" role="complementary">
      <div class="sidebar-inner">
       <div class="widget-area">
        <aside class="widget bbp_widget_login" id="bbp_login_widget-2">
         <h3 class="widget-title">
          登录
         </h3>
         <form action="http://cos.name/cn/wp-login.php" class="bbp-login-form" method="post">
          <fieldset>
           <legend>
            登录
           </legend>
           <div class="bbp-username">
            <label for="user_login">
             用户名:
            </label>
           </div>
           <div class="bbp-password">
            <label for="user_pass">
             密码:
            </label>
           </div>
           <div class="bbp-remember-me">
            <label for="rememberme">
             记住用户名
            </label>
           </div>
           <div class="bbp-submit-wrapper">
            <button class="button submit user-submit" id="user-submit" name="user-submit" tabindex="104" type="submit">
             登录
            </button>
           </div>
           <div class="bbp-login-links">
            <a class="bbp-register-link" href="http://cos.name/cn/wp-login.php?action=register" title="注册">
             注册
            </a>
            <a class="bbp-lostpass-link" href="http://cos.name/cn/wp-login.php?action=lostpassword" title="忘记密码">
             忘记密码
            </a>
           </div>
          </fieldset>
         </form>
        </aside>
        <aside class="widget widget_text" id="text-7">
         <h3 class="widget-title">
          搜索
         </h3>
         <div class="textwidget">
          <form action="http://www.google.com/search" id="bbp-search-form" method="get" onsubmit="Gsitesearch(this)" role="search">
           <div>
           </div>
          </form>
          <form id="bbp-search-form-baidu" onsubmit="g(this)" role="search">
           <div>
           </div>
          </form>
         </div>
        </aside>
        <aside class="widget widget_text" id="text-2">
         <h3 class="widget-title">
          新鲜事
         </h3>
         <div class="textwidget">
          <ul>
           <li>
            <a href="http://cos.name/cn/topics/">
             最新帖子
            </a>
           </li>
           <li>
            <a href="http://cos.name/cn/view/popular/">
             最热门主题
            </a>
           </li>
           <li>
            <a href="http://cos.name/cn/view/no-replies/">
             消灭零回复
            </a>
           </li>
          </ul>
         </div>
        </aside>
        <aside class="widget widget_text" id="text-3">
         <h3 class="widget-title">
          RSS订阅
         </h3>
         <div class="textwidget">
          <ul>
           <li>
            <img src="http://cos.name/wp-includes/images/rss.png"/>
            <a href="http://cos.name/cn/topics/feed/">
             所有主题
            </a>
           </li>
           <li>
            <img src="http://cos.name/wp-includes/images/rss.png"/>
            <a href="http://cos.name/cn/forums/feed/">
             所有帖子
            </a>
           </li>
          </ul>
         </div>
        </aside>
       </div>
       <!-- .widget-area -->
      </div>
      <!-- .sidebar-inner -->
     </div>
     <!-- #tertiary -->
    </div>
    <!-- #main -->
    <footer class="site-footer" id="colophon" role="contentinfo">
     <div class="site-info">
      版权所有 © 2014 统计之都 | 由
      <a href="http://wordpress.org/">
       WordPress
      </a>
      构建 | 主题修改自
      <a href="http://wordpress.org/themes/twentythirteen">
       Twenty Thirteen
      </a>
     </div>
     <!-- .site-info -->
    </footer>
    <!-- #colophon -->
   </div>
   <!-- #page -->
  </div>
 </body>
</html>